package cn.jtfadmin.core.modules.sys.service;


import cn.jtfadmin.base.lang.common.domain.dto.ResultDTO;
import cn.jtfadmin.core.modules.sys.domain.dto.*;

import java.util.*;

/**
 * 系统角色权限服务类
 *
 * @author jtf
 * @since 1.0
 */
public interface SysRolePermissionActionService {





    /**
     * 修改角色权限
     *
     * @param sysRolePermissionEditPDTO 修改参数
     * @return 结果
     */
    ResultDTO<String> savePermissions(SysRolePermissionEditPDTO sysRolePermissionEditPDTO);

    /**
     * 删除角色用户
     *
     * @param roleId  角色id
     * @param userIds 用户ids
     * @return 结果
     */
    ResultDTO<String> deleteUserBatch(String roleId, String userIds);

    /**
     * 授权角色用户
     *
     * @param sysRoleUserGrantPDTO 授权参数
     * @return 结果
     */
    ResultDTO<String> grantUser(SysRoleUserGrantPDTO sysRoleUserGrantPDTO);

    /**
     * 解析角色数据范围
     * 角色的数据范围字段
     * @param name
     * @param dataRangeStr
     * @return
     */
    List<String> parseDataRangeKey(String name, String dataRangeStr);
}
